home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / xfs / jdm.h < prev    next >
C/C++ Source or Header  |  2005-10-18  |  3KB  |  84 lines

  1. /*
  2.  * Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify it
  5.  * under the terms of version 2 of the GNU General Public License as
  6.  * published by the Free Software Foundation.
  7.  *
  8.  * This program is distributed in the hope that it would be useful, but
  9.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  10.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11.  *
  12.  * Further, this software is distributed without any warranty that it is
  13.  * free of the rightful claim of any third person regarding infringement
  14.  * or the like.  Any license provided herein, whether implied or
  15.  * otherwise, applies only to this software file.  Patent licenses, if
  16.  * any, provided herein do not apply to combinations of this program with
  17.  * other software, or any other product whatsoever.
  18.  *
  19.  * You should have received a copy of the GNU General Public License along
  20.  * with this program; if not, write the Free Software Foundation, Inc., 59
  21.  * Temple Place - Suite 330, Boston MA 02111-1307, USA.
  22.  *
  23.  * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
  24.  * Mountain View, CA  94043, or:
  25.  *
  26.  * http://www.sgi.com
  27.  *
  28.  * For further information regarding this notice, see:
  29.  *
  30.  * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
  31.  */
  32. #ifndef __JDM_H__
  33. #define __JDM_H__
  34.  
  35. typedef int    intgen_t;
  36. typedef void    jdm_fshandle_t;        /* filesystem handle */
  37. typedef void    jdm_filehandle_t;    /* filehandle */
  38.  
  39. struct xfs_bstat;
  40. struct attrlist_cursor;
  41.  
  42. extern jdm_fshandle_t *
  43. jdm_getfshandle( char *mntpnt);
  44.  
  45. extern void
  46. jdm_new_filehandle( jdm_filehandle_t **handlep,    /* new filehandle */
  47.             size_t *hlen,        /* new filehandle size */
  48.             jdm_fshandle_t *fshandlep,    /* filesystem filehandle */
  49.             struct xfs_bstat *sp);    /* bulkstat info */
  50.  
  51. extern void
  52. jdm_delete_filehandle( jdm_filehandle_t *handlep,/* filehandle to delete */
  53.                size_t hlen);        /* filehandle size */
  54.  
  55. extern intgen_t
  56. jdm_open( jdm_fshandle_t *fshandlep,
  57.       struct xfs_bstat *sp,
  58.       intgen_t oflags);
  59.  
  60. extern intgen_t
  61. jdm_readlink( jdm_fshandle_t *fshandlep,
  62.           struct xfs_bstat *sp,
  63.           char *bufp,
  64.           size_t bufsz);
  65.  
  66. extern intgen_t
  67. jdm_attr_multi(    jdm_fshandle_t *fshp,
  68.         xfs_bstat_t *statp,
  69.         char *bufp, int rtrvcnt, int flags);
  70.  
  71. extern intgen_t
  72. jdm_attr_list(    jdm_fshandle_t *fshp,
  73.         xfs_bstat_t *statp,
  74.         char *bufp, size_t bufsz, int flags,
  75.         struct attrlist_cursor *cursor);
  76.  
  77. /* macro for determining the size of a structure member */
  78. #define sizeofmember( t, m )    sizeof( ( ( t * )0 )->m )
  79.  
  80. /* macro for calculating the offset of a structure member */
  81. #define offsetofmember( t, m )    ( ( size_t )( char * )&( ( ( t * )0 )->m ) )
  82.  
  83. #endif    /* __JDM_H__ */
  84.